//////////////////////////////////////////////////
// glSceneNode.h
//
// Author: Tarik Belabbas et Adrien Hoffer
//////////////////////////////////////////////////

#ifndef GLSCENENODE_H_
#define GLSCENENODE_H_

#include <vector>
#include "glSceneSpatial.h"

class glSceneNode : public glSceneSpatial
{
public:
	glSceneNode							( unsigned int _nbChildren );
	virtual	~glSceneNode				();

	virtual void	updateWorldTransform();
	virtual void	render();

	unsigned int	getNbChildren		()	const	{ return m_nbChildren; }

	// Children
	glSceneSpatial*	getChild			( unsigned int _index )	{ return m_children[ _index ]; }
	void			setChild			( unsigned int _index, glSceneSpatial* _child );

protected:

	std::vector< glSceneSpatial* >	m_children;
	unsigned int				m_nbChildren;
};

#endif /* GLSCENENODE_H_ */
